<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Jialeo\LaravelSchemaExtend\Schema;

class CreateCheckCmbBankFlowsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('check_cmb_bank_flows', function (Blueprint $table) {
            $table->id();
            $table->char('bbknbr', 2)->default('')->comment('分行号');
            $table->string('narext', 34)->default('')->comment('扩展摘要');
            $table->char('trsanl', 6)->default('')->comment('交易分析码');
            $table->string('refsub', 50)->default('')->comment('商务支付订单号');
            $table->char('refnbr', 15)->default('')->comment('流水号');
            $table->string('rpyacc', 35)->default('')->comment('收/付方帐号');
            $table->string('trscod', 8)->default('')->comment('交易类型');
            $table->string('rpybnk', 62)->default('')->comment('收/付方开户行名');
            $table->string('frmcod', 10)->default('')->comment('企业识别码');
            $table->string('rpynam', 62)->default('')->comment('收/付方帐户名称');
            $table->string('reqnbr', 10)->default('')->comment('企业银行交易序号，唯一标示企业银行客户端发起的一笔交易');
            $table->char('amtcdr', 1)->default('')->comment('借贷标记 C:贷；D:借');
            $table->char('infflg', 1)->default('')->comment('用于标识收/付方帐号和母/子公司的信息。为空表示付方帐号和子公司；为“1”表示收方帐号和子公司；为“2”表示收方帐号和母公司；为“3”表示原收方帐号和子公司');
            $table->char('athflg', 1)->default('')->comment('有否附件信息标志');
            $table->char('naryur', 2)->default('')->comment('摘要 若为企业银行客户端经办的交易，则该字段为用途信息（4.0版代发代扣业务除外）若为其它渠道经办的交易，则该字段为交易的简单说明和注解。该字段显示在电子回单摘要上。');
            $table->date('etydat')->index('etydat')->comment('交易日');
            $table->decimal('trsblv', 20, 2)->default(0)->comment('余额');
            $table->char('etytim', 6)->default('')->comment('交易时间点');
            $table->string('busnam', 32)->default('')->comment('业务名称');
            $table->string('rsv30z', 128)->default('')->comment('(未知)');
            $table->decimal('trsamt', 20, 2)->index('trsamt')->default(0)->comment('交易金额');
            $table->date('vltdat')->comment('起息日');
            $table->string('yurref', 30)->index('yurref')->default('')->comment('业务参考号');
            $table->string('rpyadr', 62)->default('')->comment('收/付方开户行地址');
            $table->string('busnar', 200)->default('')->comment('业务摘要 对业务的简单说明或注解。企业银行客户端录入的摘要信息');

            $table->dateTime('etyDateTime')->default('0000-00-00 00:00:00')->index('etyDateTime')->comment('交易 年月日时分秒');
            $table->tinyInteger('used')->default(0)->index('used')->comment('是否被某个对账流水占用');
            $table->unsignedInteger('createdAt')->default(0)->comment('创建时间');
            $table->unsignedInteger('updatedAt')->default(0)->comment('修改时间');
            $table->collation = 'utf8mb4_general_ci';
            $table->comment = '对账 - 招商银行云直连账户交易流水表';
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('check_cmb_bank_flows');
    }
}
